package com.ktwlsoft.archivemanage.payload.businessInspect;

import com.ktwlsoft.archivemanage.domain.dao.entity.CopyTo;
import com.ktwlsoft.archivemanage.domain.dao.entity.Imgs;
import com.ktwlsoft.archivemanage.domain.dao.entity.businessInspect.BusinessInspect;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * 业务检查新增
 *
 * @author zhuhe on 2019/11/6 16:22
 * @version 1.0
 */
@ApiModel("业务检查新增")
@Getter
@Setter
public class BusinessInspectSaveRequest {

    /**考核模板id**/
    @ApiModelProperty("考核模板id")
    @NotNull(message = "考核模板id不能为空")
    private Long temId;

    /**考核模板名称**/
    @ApiModelProperty("考核模板名称")
    @NotNull(message = "考核模板名称不能为空")
    private String temName;

    /**状态:STAGE(暂存),CANCEL(撤销),COMPLETE(完结)**/
    @ApiModelProperty("状态:STAGE(暂存),CANCEL(撤销),COMPLETE(完结)")
    @NotNull(message = "状态不能为空")
    private BusinessInspect.state state;

    /**指导单号**/
    @ApiModelProperty("指导单号")
    @NotNull(message = "指导单号不能为空")
    private String guidanceNum;

    /**考核地理位置**/
    @ApiModelProperty("考核地理位置")
    private String gpsAddress;

    /**立档单位id**/
    @ApiModelProperty("立档单位id")
    @NotNull(message = "立档单位id不能为空")
    private Long unitId;

    /**立档单位**/
    @ApiModelProperty("立档单位")
    @NotNull(message = "立档单位不能为空")
    private String unitName;

    /**单位位置**/
    @ApiModelProperty("单位位置")
    private String unitAddress;

    /**档案员**/
    @ApiModelProperty("档案员")
    private String archivist;

    /**档案员id**/
    @ApiModelProperty("档案员id")
    @NotNull(message = "档案员id不能为空")
    private Long archivistId;

    /**档案员电话**/
    @ApiModelProperty("档案员电话")
    private String archivistPhone;

    /**满分**/
    @ApiModelProperty("满分")
    private BigDecimal fullMark;

    /**得分**/
    @ApiModelProperty("得分")
    private BigDecimal mark;

    /**指导意见**/
    @ApiModelProperty("指导意见")
    private String guidAdvice;

    /**被指导意见**/
    @ApiModelProperty("被指导意见")
    private String unitAdvice;

    /**指导员签字图片**/
    @ApiModelProperty("指导员签字图片")
    private Imgs instructorSignImg;

    /**被指导单位签字图片**/
    @ApiModelProperty("被指导单位签字图片")
    private Imgs unitSignImg;

    /**检查类型:default(默认),self_or_repeat(自查复查)**/
    @ApiModelProperty("检查类型:default(默认),self_or_repeat(自查复查)")
    @NotNull(message = "检查类型不能为空")
    private String inspectType;

    /**业务检查题目**/
    @ApiModelProperty("业务检查题目")
    @Valid
    @NotNull(message = "业务检查题目不能为空")
    private List<GuidanceSubjectSaveRequest> subjectSaveRequests;
}